package com.gtq.uhome.service;

import com.gtq.uhome.vo.MarkiVo;

import com.gtq.uhome.vo.DeliveryOrderManagementVo;
import com.gtq.uhome.vo.MarkiVo;

import java.util.List;
import java.util.Map;

/**
 * 配送员管理业务层接口
 */
public interface MarkiService {


    //配送员管理，查询所有
    List<MarkiVo> findAll();

    //模糊查询
    List<MarkiVo> findLike(MarkiVo markiVo);

    //添加配送员信息
    Boolean insertMarki(MarkiVo markiVo);

    //删除配送员信息
    Boolean deleteMarki(List<MarkiVo> staffId);

    //修改状态，是否冻结，0：未冻结，1：冻结
    Boolean freeze(List<MarkiVo> staffId);
    Boolean notFreeze(List<MarkiVo> staffId);

    //修改配送员信息
    Boolean updateMarki(MarkiVo markiVo);

    //判断配送员电话是否重复
    Boolean isRepeat(String staffPhoneNumber);

    //查询全部配送员接单数量
    //----李龙
    List<MarkiVo> fandAllMarki();

    //通过派送员电话号码和派送员名字 模糊查询全部配送员接单数量
    //----李龙
    List<MarkiVo> vagueFandAllMarki(String vagueFind);

    //平台派单
    //----李龙

    /**
     * 平台派单
     * @param courierId 派送员id
     * @param orderId 订单号id
     * @return true 派单成功
     */
    Boolean platformDispatch(Integer courierId,String orderId);

    /**
     * 查询未派单
     */
    List<DeliveryOrderManagementVo> selectUndelivered();

    /**
     * 未派订单的模糊查询
     * @param vagueSelect 临时对象
     * @return 返回查询数据
     */
    List<DeliveryOrderManagementVo> vagueSelectUndelivered(String vagueSelect);

    /**
     * 订单派送员信息
     * @param oderId 订单ID
     * @param courier 派送员ID
     * @return 返回订单信息
     */
    Map orderInfo(String oderId,Integer courier);
    List<MarkiVo> vagueFandAllMarki(MarkiVo markiVo);

}
